// !熟悉
// todo 引入ws模块
// const { WebSocketServer } = require("ws");
const WebSocket = require("ws");

// todo 创建了一个websocket服务，并且监听在了本机的8080端口
const wss = new WebSocket.WebSocketServer({ port: 8080 });

// todo 监听了用户的连接
// todo ws表示连接进来的那个用户
wss.on("connection", function connection(ws) {
  // todo 监听前端发来信息
  ws.on("message", function message(data, isBinary) {
    // console.log("received: %s", data);
    // ws.send(data);

    // todo 广播
    // todo wss.clients表示所有连接的用户
    wss.clients.forEach(function each(client) {
      if (client.readyState === WebSocket.OPEN) {
        client.send(data, { binary: isBinary });
      }
    });
  });

  // todo 后端向前端发
  // ws.send("something");
});
